我們在第一節已經說明了如何讀取音訊檔案,並在第二節說明如何播放音訊。MATLAB 也支援直接由麥克風讀取訊號,因此可以直接進行聲音的錄製,所使用的指令是 audiorecord 和 recordblocking,請見下列基本範例:
在上述範例中,我們先使用 audiorecorder 來產生錄音物件 recObj,然後再使用 recordblocking 指令來進行三秒的錄音。(請直接執行上述範例後,才看得出整體的流程。)
由於在上例中,我們在使用 audiorecorder 時,並未指定任何參數,所以錄音程式會以下列預設參數來進行錄音:取樣頻率為 8000 Hz,取樣點解析度為 8 bits,單聲道錄音。
若要使用不同的參數來進行錄音,我們可以將這些參數送到 audiorecorder 指令,範例如下:
在上例中,有兩個重點:
- 我們設定不同的參數來進行錄音:
- fs=16000; % 取樣頻率
- nBits=16; % 取樣點解析度,必須是 8 或 16 或 24
- nChannel=1; % 聲道個數,必須是 1(單聲道) 或 2(雙聲道或立體音)
- 我們可以使用 getaudiodata 指令來取出音訊(可設定資料型態,例如 double、single、int16、uint8 等),並進行繪圖。
MATLAB程式設計:入門篇